【PHP/演習問題】トレイト(trait)[1]
問題
次の実行結果になるプログラムを作成してください。
なお、下記条件を満たすものとします。
- 次の表のクラス・トレイトを作成する
- 人間クラス、コンピュータークラスのインスタンスからaddメソッドを実行する
種類 | 名称 | 英記 | トレイト | メソッド |
---|---|---|---|---|
トレイト | 計算トレイト | Calculation | – | ・add( $x, $y )
→ 2値の足し算を出力する |
具象クラス | 人間クラス | Person | Calculation | – |
具象クラス | コンピュータークラス | Computer | Calculation | – |
=== Person ===
123 + 456 = 579
=== Computer ===
12345 + 67890 = 80235
解答例
<?php
trait Calculation {
public function add( $x, $y ) {
$result = $x + $y;
echo $x.' + '.$y.' = '.$result."\n";
}
}
class Person {
use Calculation;
}
class Computer {
use Calculation;
}
echo "=== Person ===\n";
$person = new Person();
$person->add(123, 456);
echo "=== Computer ===\n";
$computer = new Computer();
$computer->add(12345, 67890);
?>